Fuzion Logo
fuzion-lang.dev — The Fuzion Language Portal
JavaScript seems to be disabled. Functionality is limited.

Finger_Tree

container.Finger_Tree

(T 
type
)
 ref
:
abstract_array T
 is
[Contains abstract features]
[Private constructor]
[Module base]
A finger tree is a purely functional data structure designed
to efficiently represent persistent sequences.

It allows amortized constant time access to its elements.
Furthermore concatting (append/prepend) as well as splitting in logarithmic time.

In Fuzion finger trees are used for concatenation of strings and finite Sequences.

The paper introducing the datastructure:
https://www.cs.ox.ac.uk/ralf.hinze/publications/FingerTrees.pdf

The implementation that was used as an inspiration for this port:
https://github.com/ledbutter/CSharpFingerTree

NYI: UNDER DEVELOPMENT: split0, slice, reverse

Type Parameters

T
:
Any
[Module base]

Functions

group the elements of this sequence by a key of type K

f determines the key of an element
0.095dev (GIT hash 174ff0d5a4465a8a0415fd934dc6963e69d62f22)
last changed: 2026-04-27